#include "Element.h"

struct sTableauDynamique
{ 
	Element * ad;
	int capacite;
	int tailleU;
};


struct sTableauDynamique
{ 
Element * ad;
int capacite;
int tailleU;
};

//typedef struct sTableauDynamique TabDyn;

void initialiserTabDyn(TabDyn * T);
/* Précondition : T n'a pas déjà été initialisé */
/* Postcondition : réservation mémoire d'un tableau de 1 élément */

void testamentTabDyn(TabDyn * T);
/* Précondition : T a déjà été initialisé */
/* Postcondition : libération de la mémoire occupée par le tableau */

void ajouteElement(TabDyn * T, Element e);
/* Précondition : t est bien initialisé */
/* Postcondition : e est ajouté à la suite des éléments déjà présents */

Element valeurIemeElementTabDyn(const TabDyn * T, unsigned int i);
/* Preconditions : t prealablement initialise, 0 <= i < nombre d’elements stockés dans t */
/* Resultat : retourne le i+1eme Element de t */

void afficheTabDyn(const TabDyn * T);
/* Precondition : t prealablement initialise */
/* Postcondition : Les elements du tableau sont affiches sur la sortie standard en utilisant la procedure d'affichage definie dans le module Element. */

void supprimeDernierElementTabDyn(TabDyn * T);
/* Precondition : t prealablement initialise et non vide */
/* Postcondition : la taille utilisee du tableau est decrementee de 1 */

void modifieValeurIemeElementTabDyn(TabDyn * T, Element e, unsigned int i);
/* Preconditions : - t prealablement initialise,
- 0 <= i < nombre d’elements stockés dans t */
/* Postcondition : le i+1eme Element de t vaut e */

int rechercheElementTabDyn(const TabDyn * T, Element e);
/* Precondition : t prealablement initialise et trie dans l’ordre croissant */
/* Resultat : numero de l’alveole (ou l’une des alveoles) qui contient un Element egal a e, ou bien -1 si t ne contient pas d’element egal a e */


